/*
//              INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license  agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in  accordance  with the terms of that agreement.
//    Copyright (c) 2004-2007 Intel Corporation. All Rights Reserved.
//
//
*/
#include "umc_defs.h"
#if defined (UMC_ENABLE_DV50_VIDEO_DECODER)

#include <ippvc.h>
#include "umc_dv50_decoder.h"
#include "umc_dv50_internal.h"


namespace UMC
{

void StoreDV50Segment_YUY2_2s(STORE_DV_SEGMENT_INFO &StoreInfo)
{
    ippiYCrCb422ToYCbCr422_8x4x5MB_DV_16s8u_P3C2R((const Ipp16s **) StoreInfo.m_lpsSource,
                                                   StoreInfo.m_lpbDestination,
                                                   StoreInfo.m_lPitch);
} // void StoreDV50Segment_YUY2_2s(STORE_DV_SEGMENT_INFO &StoreInfo)

void DV50VideoDecoder::StoreDV50Segment_2s(Ipp32u i, Ipp32u k, Ipp32u nThreadNum)
{
    STORE_DV_SEGMENT_INFO RealStoreInfo;

    // reset pointers
    InitializeStoreDV50Info(RealStoreInfo, i, k, nThreadNum);

    StoreDV50Segment_YUY2_2s(RealStoreInfo);

} // void DV50VideoDecoder::StoreDVSegment_2s(Ipp32u i, Ipp32u k, Ipp32u nThreadNum)

} // end namespace UMC

#endif //(UMC_ENABLE_DV50_VIDEO_DECODER)
